mirror of
				https://github.com/usememos/memos.git
				synced 2025-06-05 22:09:59 +02:00 
			
		
		
		
	chore: update dev version (#489)
This commit is contained in:
		@@ -10,7 +10,7 @@ import (
 | 
			
		||||
var Version = "0.7.3"
 | 
			
		||||
 | 
			
		||||
// DevVersion is the service current development version.
 | 
			
		||||
var DevVersion = "0.7.3"
 | 
			
		||||
var DevVersion = "0.8.0"
 | 
			
		||||
 | 
			
		||||
func GetCurrentVersion(mode string) string {
 | 
			
		||||
	if mode == "dev" {
 | 
			
		||||
 
 | 
			
		||||
@@ -66,10 +66,6 @@ func (db *DB) Open(ctx context.Context) (err error) {
 | 
			
		||||
				return fmt.Errorf("failed to apply latest schema: %w", err)
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			if err := db.createMigrationHistoryTable(ctx); err != nil {
 | 
			
		||||
				return fmt.Errorf("failed to create migration_history table: %w", err)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			currentVersion := version.GetCurrentVersion(db.profile.Mode)
 | 
			
		||||
			migrationHistory, err := db.FindMigrationHistory(ctx, &MigrationHistoryFind{})
 | 
			
		||||
			if err != nil {
 | 
			
		||||
@@ -236,23 +232,3 @@ func getMinorVersionList() []string {
 | 
			
		||||
 | 
			
		||||
	return minorVersionList
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// createMigrationHistoryTable creates the migration_history table if it doesn't exist.
 | 
			
		||||
func (db *DB) createMigrationHistoryTable(ctx context.Context) error {
 | 
			
		||||
	tx, err := db.Db.Begin()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	defer tx.Rollback()
 | 
			
		||||
 | 
			
		||||
	if err := createTable(ctx, tx, `
 | 
			
		||||
	CREATE TABLE IF NOT EXISTS migration_history (
 | 
			
		||||
		version TEXT NOT NULL PRIMARY KEY,
 | 
			
		||||
		created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now'))
 | 
			
		||||
	);
 | 
			
		||||
	`); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return tx.Commit()
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,17 @@
 | 
			
		||||
-- migration_history
 | 
			
		||||
CREATE TABLE migration_history (
 | 
			
		||||
  version TEXT NOT NULL PRIMARY KEY,
 | 
			
		||||
  created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now'))
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
-- system_setting
 | 
			
		||||
CREATE TABLE system_setting (
 | 
			
		||||
  name TEXT NOT NULL,
 | 
			
		||||
  value TEXT NOT NULL,
 | 
			
		||||
  description TEXT NOT NULL DEFAULT '',
 | 
			
		||||
  UNIQUE(name)
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
-- user
 | 
			
		||||
CREATE TABLE user (
 | 
			
		||||
  id INTEGER PRIMARY KEY AUTOINCREMENT,
 | 
			
		||||
@@ -11,6 +25,14 @@ CREATE TABLE user (
 | 
			
		||||
  open_id TEXT NOT NULL UNIQUE
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
-- user_setting
 | 
			
		||||
CREATE TABLE user_setting (
 | 
			
		||||
  user_id INTEGER NOT NULL,
 | 
			
		||||
  key TEXT NOT NULL,
 | 
			
		||||
  value TEXT NOT NULL,
 | 
			
		||||
  UNIQUE(user_id, key)
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
-- memo
 | 
			
		||||
CREATE TABLE memo (
 | 
			
		||||
  id INTEGER PRIMARY KEY AUTOINCREMENT,
 | 
			
		||||
@@ -55,14 +77,6 @@ CREATE TABLE resource (
 | 
			
		||||
  size INTEGER NOT NULL DEFAULT 0
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
-- user_setting
 | 
			
		||||
CREATE TABLE user_setting (
 | 
			
		||||
  user_id INTEGER NOT NULL,
 | 
			
		||||
  key TEXT NOT NULL,
 | 
			
		||||
  value TEXT NOT NULL,
 | 
			
		||||
  UNIQUE(user_id, key)
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
-- memo_resource
 | 
			
		||||
CREATE TABLE memo_resource (
 | 
			
		||||
  memo_id INTEGER NOT NULL,
 | 
			
		||||
@@ -72,10 +86,14 @@ CREATE TABLE memo_resource (
 | 
			
		||||
  UNIQUE(memo_id, resource_id)
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
-- system_setting
 | 
			
		||||
CREATE TABLE system_setting (
 | 
			
		||||
  name TEXT NOT NULL,
 | 
			
		||||
  value TEXT NOT NULL,
 | 
			
		||||
-- memo_relation
 | 
			
		||||
CREATE TABLE memo_relation (
 | 
			
		||||
  id INTEGER PRIMARY KEY AUTOINCREMENT,
 | 
			
		||||
  created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
 | 
			
		||||
  updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
 | 
			
		||||
  memo_id INTEGER NOT NULL,
 | 
			
		||||
  related_memo_id INTEGER NOT NULL,
 | 
			
		||||
  type TEXT NOT NULL,
 | 
			
		||||
  description TEXT NOT NULL DEFAULT '',
 | 
			
		||||
  UNIQUE(name)
 | 
			
		||||
  UNIQUE(memo_id, related_memo_id, type)
 | 
			
		||||
);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								store/db/migration/prod/0.8/00__migration_history.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								store/db/migration/prod/0.8/00__migration_history.sql
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
-- migration_history
 | 
			
		||||
CREATE TABLE IF NOT EXISTS migration_history (
 | 
			
		||||
  version TEXT NOT NULL PRIMARY KEY,
 | 
			
		||||
  created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now'))
 | 
			
		||||
);
 | 
			
		||||
							
								
								
									
										11
									
								
								store/db/migration/prod/0.8/01__memo_relation.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								store/db/migration/prod/0.8/01__memo_relation.sql
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
-- memo_relation
 | 
			
		||||
CREATE TABLE memo_relation (
 | 
			
		||||
  id INTEGER PRIMARY KEY AUTOINCREMENT,
 | 
			
		||||
  created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
 | 
			
		||||
  updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
 | 
			
		||||
  memo_id INTEGER NOT NULL,
 | 
			
		||||
  related_memo_id INTEGER NOT NULL,
 | 
			
		||||
  type TEXT NOT NULL,
 | 
			
		||||
  description TEXT NOT NULL DEFAULT '',
 | 
			
		||||
  UNIQUE(memo_id, related_memo_id, type)
 | 
			
		||||
);
 | 
			
		||||
@@ -20,7 +20,7 @@ type MigrationHistoryFind struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (db *DB) FindMigrationHistory(ctx context.Context, find *MigrationHistoryFind) (*MigrationHistory, error) {
 | 
			
		||||
	tx, err := db.Db.Begin()
 | 
			
		||||
	tx, err := db.Db.BeginTx(ctx, nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
@@ -40,7 +40,7 @@ func (db *DB) FindMigrationHistory(ctx context.Context, find *MigrationHistoryFi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (db *DB) UpsertMigrationHistory(ctx context.Context, upsert *MigrationHistoryUpsert) (*MigrationHistory, error) {
 | 
			
		||||
	tx, err := db.Db.Begin()
 | 
			
		||||
	tx, err := db.Db.BeginTx(ctx, nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
@@ -111,24 +111,13 @@ func upsertMigrationHistory(ctx context.Context, tx *sql.Tx, upsert *MigrationHi
 | 
			
		||||
			version=EXCLUDED.version
 | 
			
		||||
		RETURNING version, created_ts
 | 
			
		||||
	`
 | 
			
		||||
	row, err := tx.QueryContext(ctx, query, upsert.Version)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	defer row.Close()
 | 
			
		||||
 | 
			
		||||
	row.Next()
 | 
			
		||||
	var migrationHistory MigrationHistory
 | 
			
		||||
	if err := row.Scan(
 | 
			
		||||
	if err := tx.QueryRowContext(ctx, query, upsert.Version).Scan(
 | 
			
		||||
		&migrationHistory.Version,
 | 
			
		||||
		&migrationHistory.CreatedTs,
 | 
			
		||||
	); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := row.Err(); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &migrationHistory, nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,65 +0,0 @@
 | 
			
		||||
package db
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"database/sql"
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type Table struct {
 | 
			
		||||
	Name string
 | 
			
		||||
	SQL  string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//lint:ignore U1000 Ignore unused function temporarily for debugging
 | 
			
		||||
//nolint:all
 | 
			
		||||
func findTable(ctx context.Context, tx *sql.Tx, tableName string) (*Table, error) {
 | 
			
		||||
	where, args := []string{"1 = 1"}, []interface{}{}
 | 
			
		||||
 | 
			
		||||
	where, args = append(where, "type = ?"), append(args, "table")
 | 
			
		||||
	where, args = append(where, "name = ?"), append(args, tableName)
 | 
			
		||||
 | 
			
		||||
	query := `
 | 
			
		||||
		SELECT
 | 
			
		||||
			tbl_name,
 | 
			
		||||
			sql
 | 
			
		||||
		FROM sqlite_schema
 | 
			
		||||
		WHERE ` + strings.Join(where, " AND ")
 | 
			
		||||
	rows, err := tx.QueryContext(ctx, query, args...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	defer rows.Close()
 | 
			
		||||
 | 
			
		||||
	tableList := make([]*Table, 0)
 | 
			
		||||
	for rows.Next() {
 | 
			
		||||
		var table Table
 | 
			
		||||
		if err := rows.Scan(
 | 
			
		||||
			&table.Name,
 | 
			
		||||
			&table.SQL,
 | 
			
		||||
		); err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		tableList = append(tableList, &table)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := rows.Err(); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if len(tableList) == 0 {
 | 
			
		||||
		return nil, nil
 | 
			
		||||
	} else {
 | 
			
		||||
		return tableList[0], nil
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func createTable(ctx context.Context, tx *sql.Tx, stmt string) error {
 | 
			
		||||
	_, err := tx.ExecContext(ctx, stmt)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user