Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
1b6685d7
Commit
1b6685d7
authored
Aug 16, 2024
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: tweak linter warning
parent
710d1b30
Changes
48
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
48 changed files
with
13 additions
and
1281 deletions
+13
-1281
mysql.go
store/db/mysql/mysql.go
+4
-4
postgres.go
store/db/postgres/postgres.go
+4
-4
LATEST__SCHEMA.sql
store/db/sqlite/migration/dev/LATEST__SCHEMA.sql
+0
-146
00__activity.sql
store/db/sqlite/migration/prod/0.10/00__activity.sql
+0
-9
00__user_avatar.sql
store/db/sqlite/migration/prod/0.11/00__user_avatar.sql
+0
-4
01__idp.sql
store/db/sqlite/migration/prod/0.11/01__idp.sql
+0
-8
02__storage.sql
store/db/sqlite/migration/prod/0.11/02__storage.sql
+0
-7
00__user_setting.sql
store/db/sqlite/migration/prod/0.12/00__user_setting.sql
+0
-6
01__system_setting.sql
store/db/sqlite/migration/prod/0.12/01__system_setting.sql
+0
-69
03__resource_internal_path.sql
...sqlite/migration/prod/0.12/03__resource_internal_path.sql
+0
-4
04__resource_public_id.sql
.../db/sqlite/migration/prod/0.12/04__resource_public_id.sql
+0
-18
00__memo_relation.sql
store/db/sqlite/migration/prod/0.13/00__memo_relation.sql
+0
-7
01__remove_memo_organizer_id.sql
...lite/migration/prod/0.13/01__remove_memo_organizer_id.sql
+0
-22
00__drop_resource_public_id.sql
...qlite/migration/prod/0.14/00__drop_resource_public_id.sql
+0
-25
01__create_indexes.sql
store/db/sqlite/migration/prod/0.14/01__create_indexes.sql
+0
-5
00__drop_user_open_id.sql
...e/db/sqlite/migration/prod/0.15/00__drop_user_open_id.sql
+0
-25
00__add_memo_id_to_resource.sql
...qlite/migration/prod/0.16/00__add_memo_id_to_resource.sql
+0
-13
01__drop_shortcut_table.sql
...db/sqlite/migration/prod/0.16/01__drop_shortcut_table.sql
+0
-1
00__inbox.sql
store/db/sqlite/migration/prod/0.17/00__inbox.sql
+0
-9
01__delete_activities.sql
...e/db/sqlite/migration/prod/0.17/01__delete_activities.sql
+0
-1
00__webhook.sql
store/db/sqlite/migration/prod/0.18/00__webhook.sql
+0
-12
01__user_setting.sql
store/db/sqlite/migration/prod/0.18/01__user_setting.sql
+0
-4
00__add_resource_name.sql
...e/db/sqlite/migration/prod/0.19/00__add_resource_name.sql
+0
-11
00__user_role.sql
store/db/sqlite/migration/prod/0.2/00__user_role.sql
+0
-60
01__memo_visibility.sql
store/db/sqlite/migration/prod/0.2/01__memo_visibility.sql
+0
-4
00__reaction.sql
store/db/sqlite/migration/prod/0.20/00__reaction.sql
+0
-9
00__user_description.sql
store/db/sqlite/migration/prod/0.21/00__user_description.sql
+0
-1
01__rename_uid.sql
store/db/sqlite/migration/prod/0.21/01__rename_uid.sql
+0
-3
00__resource_storage_type.sql
.../sqlite/migration/prod/0.22/00__resource_storage_type.sql
+0
-17
01__memo_tags.sql
store/db/sqlite/migration/prod/0.22/01__memo_tags.sql
+0
-3
02__memo_payload.sql
store/db/sqlite/migration/prod/0.22/02__memo_payload.sql
+0
-1
03__drop_tag.sql
store/db/sqlite/migration/prod/0.22/03__drop_tag.sql
+0
-1
00__memo_visibility_protected.sql
...lite/migration/prod/0.3/00__memo_visibility_protected.sql
+0
-43
00__user_setting.sql
store/db/sqlite/migration/prod/0.4/00__user_setting.sql
+0
-9
00__regenerate_foreign_keys.sql
...sqlite/migration/prod/0.5/00__regenerate_foreign_keys.sql
+0
-217
01__memo_resource.sql
store/db/sqlite/migration/prod/0.5/01__memo_resource.sql
+0
-10
02__system_setting.sql
store/db/sqlite/migration/prod/0.5/02__system_setting.sql
+0
-7
03__resource_extermal_link.sql
.../sqlite/migration/prod/0.5/03__resource_extermal_link.sql
+0
-4
00__recreate_triggers.sql
store/db/sqlite/migration/prod/0.6/00__recreate_triggers.sql
+0
-59
00__remove_fk.sql
store/db/sqlite/migration/prod/0.7/00__remove_fk.sql
+0
-191
01__remove_triggers.sql
store/db/sqlite/migration/prod/0.7/01__remove_triggers.sql
+0
-7
00__migration_history.sql
store/db/sqlite/migration/prod/0.8/00__migration_history.sql
+0
-5
01__user_username.sql
store/db/sqlite/migration/prod/0.8/01__user_username.sql
+0
-50
00__tag.sql
store/db/sqlite/migration/prod/0.9/00__tag.sql
+0
-6
LATEST__SCHEMA.sql
store/db/sqlite/migration/prod/LATEST__SCHEMA.sql
+0
-146
dump.sql
store/db/sqlite/seed/dump.sql
+0
-10
sqlite.go
store/db/sqlite/sqlite.go
+4
-4
migrator.go
store/migrator.go
+1
-0
No files found.
store/db/mysql/mysql.go
View file @
1b6685d7
...
@@ -39,12 +39,12 @@ func NewDB(profile *profile.Profile) (store.Driver, error) {
...
@@ -39,12 +39,12 @@ func NewDB(profile *profile.Profile) (store.Driver, error) {
return
&
driver
,
nil
return
&
driver
,
nil
}
}
func
(
d
*
DB
)
GetDB
()
*
sql
.
DB
{
func
(
*
DB
)
Type
()
string
{
return
d
.
db
return
"mysql"
}
}
func
(
d
*
DB
)
Type
()
string
{
func
(
d
*
DB
)
GetDB
()
*
sql
.
DB
{
return
"mysql"
return
d
.
db
}
}
func
(
d
*
DB
)
Close
()
error
{
func
(
d
*
DB
)
Close
()
error
{
...
...
store/db/postgres/postgres.go
View file @
1b6685d7
...
@@ -39,12 +39,12 @@ func NewDB(profile *profile.Profile) (store.Driver, error) {
...
@@ -39,12 +39,12 @@ func NewDB(profile *profile.Profile) (store.Driver, error) {
return
driver
,
nil
return
driver
,
nil
}
}
func
(
d
*
DB
)
GetDB
()
*
sql
.
DB
{
func
(
*
DB
)
Type
()
string
{
return
d
.
db
return
"postgres"
}
}
func
(
d
*
DB
)
Type
()
string
{
func
(
d
*
DB
)
GetDB
()
*
sql
.
DB
{
return
"postgres"
return
d
.
db
}
}
func
(
d
*
DB
)
Close
()
error
{
func
(
d
*
DB
)
Close
()
error
{
...
...
store/db/sqlite/migration/dev/LATEST__SCHEMA.sql
deleted
100644 → 0
View file @
710d1b30
-- 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
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
username
TEXT
NOT
NULL
UNIQUE
,
role
TEXT
NOT
NULL
CHECK
(
role
IN
(
'HOST'
,
'ADMIN'
,
'USER'
))
DEFAULT
'USER'
,
email
TEXT
NOT
NULL
DEFAULT
''
,
nickname
TEXT
NOT
NULL
DEFAULT
''
,
password_hash
TEXT
NOT
NULL
,
avatar_url
TEXT
NOT
NULL
DEFAULT
''
,
description
TEXT
NOT
NULL
DEFAULT
''
);
CREATE
INDEX
idx_user_username
ON
user
(
username
);
-- 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
,
uid
TEXT
NOT
NULL
UNIQUE
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
content
TEXT
NOT
NULL
DEFAULT
''
,
visibility
TEXT
NOT
NULL
CHECK
(
visibility
IN
(
'PUBLIC'
,
'PROTECTED'
,
'PRIVATE'
))
DEFAULT
'PRIVATE'
,
tags
TEXT
NOT
NULL
DEFAULT
'[]'
,
payload
TEXT
NOT
NULL
DEFAULT
'{}'
);
CREATE
INDEX
idx_memo_creator_id
ON
memo
(
creator_id
);
CREATE
INDEX
idx_memo_content
ON
memo
(
content
);
CREATE
INDEX
idx_memo_visibility
ON
memo
(
visibility
);
CREATE
INDEX
idx_memo_tags
ON
memo
(
tags
);
-- memo_organizer
CREATE
TABLE
memo_organizer
(
memo_id
INTEGER
NOT
NULL
,
user_id
INTEGER
NOT
NULL
,
pinned
INTEGER
NOT
NULL
CHECK
(
pinned
IN
(
0
,
1
))
DEFAULT
0
,
UNIQUE
(
memo_id
,
user_id
)
);
-- memo_relation
CREATE
TABLE
memo_relation
(
memo_id
INTEGER
NOT
NULL
,
related_memo_id
INTEGER
NOT
NULL
,
type
TEXT
NOT
NULL
,
UNIQUE
(
memo_id
,
related_memo_id
,
type
)
);
-- resource
CREATE
TABLE
resource
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
uid
TEXT
NOT
NULL
UNIQUE
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
filename
TEXT
NOT
NULL
DEFAULT
''
,
blob
BLOB
DEFAULT
NULL
,
type
TEXT
NOT
NULL
DEFAULT
''
,
size
INTEGER
NOT
NULL
DEFAULT
0
,
memo_id
INTEGER
,
storage_type
TEXT
NOT
NULL
DEFAULT
''
,
reference
TEXT
NOT
NULL
DEFAULT
''
,
payload
TEXT
NOT
NULL
DEFAULT
'{}'
);
CREATE
INDEX
idx_resource_creator_id
ON
resource
(
creator_id
);
CREATE
INDEX
idx_resource_memo_id
ON
resource
(
memo_id
);
-- activity
CREATE
TABLE
activity
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
type
TEXT
NOT
NULL
DEFAULT
''
,
level
TEXT
NOT
NULL
CHECK
(
level
IN
(
'INFO'
,
'WARN'
,
'ERROR'
))
DEFAULT
'INFO'
,
payload
TEXT
NOT
NULL
DEFAULT
'{}'
);
-- idp
CREATE
TABLE
idp
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
name
TEXT
NOT
NULL
,
type
TEXT
NOT
NULL
,
identifier_filter
TEXT
NOT
NULL
DEFAULT
''
,
config
TEXT
NOT
NULL
DEFAULT
'{}'
);
-- inbox
CREATE
TABLE
inbox
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
sender_id
INTEGER
NOT
NULL
,
receiver_id
INTEGER
NOT
NULL
,
status
TEXT
NOT
NULL
,
message
TEXT
NOT
NULL
DEFAULT
'{}'
);
-- webhook
CREATE
TABLE
webhook
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
creator_id
INTEGER
NOT
NULL
,
name
TEXT
NOT
NULL
,
url
TEXT
NOT
NULL
);
CREATE
INDEX
idx_webhook_creator_id
ON
webhook
(
creator_id
);
-- reaction
CREATE
TABLE
reaction
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
creator_id
INTEGER
NOT
NULL
,
content_id
TEXT
NOT
NULL
,
reaction_type
TEXT
NOT
NULL
,
UNIQUE
(
creator_id
,
content_id
,
reaction_type
)
);
store/db/sqlite/migration/prod/0.10/00__activity.sql
deleted
100644 → 0
View file @
710d1b30
-- activity
CREATE
TABLE
activity
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
type
TEXT
NOT
NULL
DEFAULT
''
,
level
TEXT
NOT
NULL
CHECK
(
level
IN
(
'INFO'
,
'WARN'
,
'ERROR'
))
DEFAULT
'INFO'
,
payload
TEXT
NOT
NULL
DEFAULT
'{}'
);
\ No newline at end of file
store/db/sqlite/migration/prod/0.11/00__user_avatar.sql
deleted
100644 → 0
View file @
710d1b30
ALTER
TABLE
user
ADD
COLUMN
avatar_url
TEXT
NOT
NULL
DEFAULT
''
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.11/01__idp.sql
deleted
100644 → 0
View file @
710d1b30
-- idp
CREATE
TABLE
idp
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
name
TEXT
NOT
NULL
,
type
TEXT
NOT
NULL
,
identifier_filter
TEXT
NOT
NULL
DEFAULT
''
,
config
TEXT
NOT
NULL
DEFAULT
'{}'
);
\ No newline at end of file
store/db/sqlite/migration/prod/0.11/02__storage.sql
deleted
100644 → 0
View file @
710d1b30
-- storage
CREATE
TABLE
storage
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
name
TEXT
NOT
NULL
,
type
TEXT
NOT
NULL
,
config
TEXT
NOT
NULL
DEFAULT
'{}'
);
\ No newline at end of file
store/db/sqlite/migration/prod/0.12/00__user_setting.sql
deleted
100644 → 0
View file @
710d1b30
UPDATE
user_setting
SET
key
=
'memo-visibility'
WHERE
key
=
'memoVisibility'
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.12/01__system_setting.sql
deleted
100644 → 0
View file @
710d1b30
UPDATE
system_setting
SET
name
=
'server-id'
WHERE
name
=
'serverId'
;
UPDATE
system_setting
SET
name
=
'secret-session'
WHERE
name
=
'secretSessionName'
;
UPDATE
system_setting
SET
name
=
'allow-signup'
WHERE
name
=
'allowSignUp'
;
UPDATE
system_setting
SET
name
=
'disable-public-memos'
WHERE
name
=
'disablePublicMemos'
;
UPDATE
system_setting
SET
name
=
'additional-style'
WHERE
name
=
'additionalStyle'
;
UPDATE
system_setting
SET
name
=
'additional-script'
WHERE
name
=
'additionalScript'
;
UPDATE
system_setting
SET
name
=
'customized-profile'
WHERE
name
=
'customizedProfile'
;
UPDATE
system_setting
SET
name
=
'storage-service-id'
WHERE
name
=
'storageServiceId'
;
UPDATE
system_setting
SET
name
=
'local-storage-path'
WHERE
name
=
'localStoragePath'
;
UPDATE
system_setting
SET
name
=
'openai-config'
WHERE
name
=
'openAIConfig'
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.12/03__resource_internal_path.sql
deleted
100644 → 0
View file @
710d1b30
ALTER
TABLE
resource
ADD
COLUMN
internal_path
TEXT
NOT
NULL
DEFAULT
''
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.12/04__resource_public_id.sql
deleted
100644 → 0
View file @
710d1b30
ALTER
TABLE
resource
ADD
COLUMN
public_id
TEXT
NOT
NULL
DEFAULT
''
;
CREATE
UNIQUE
INDEX
resource_id_public_id_unique_index
ON
resource
(
id
,
public_id
);
UPDATE
resource
SET
public_id
=
printf
(
'%s-%s-%s-%s-%s'
,
lower
(
hex
(
randomblob
(
4
))),
lower
(
hex
(
randomblob
(
2
))),
lower
(
hex
(
randomblob
(
2
))),
lower
(
hex
(
randomblob
(
2
))),
lower
(
hex
(
randomblob
(
6
)))
);
\ No newline at end of file
store/db/sqlite/migration/prod/0.13/00__memo_relation.sql
deleted
100644 → 0
View file @
710d1b30
-- memo_relation
CREATE
TABLE
memo_relation
(
memo_id
INTEGER
NOT
NULL
,
related_memo_id
INTEGER
NOT
NULL
,
type
TEXT
NOT
NULL
,
UNIQUE
(
memo_id
,
related_memo_id
,
type
)
);
\ No newline at end of file
store/db/sqlite/migration/prod/0.13/01__remove_memo_organizer_id.sql
deleted
100644 → 0
View file @
710d1b30
DROP
TABLE
IF
EXISTS
memo_organizer_temp
;
CREATE
TABLE
memo_organizer_temp
(
memo_id
INTEGER
NOT
NULL
,
user_id
INTEGER
NOT
NULL
,
pinned
INTEGER
NOT
NULL
CHECK
(
pinned
IN
(
0
,
1
))
DEFAULT
0
,
UNIQUE
(
memo_id
,
user_id
)
);
INSERT
INTO
memo_organizer_temp
(
memo_id
,
user_id
,
pinned
)
SELECT
memo_id
,
user_id
,
pinned
FROM
memo_organizer
;
DROP
TABLE
memo_organizer
;
ALTER
TABLE
memo_organizer_temp
RENAME
TO
memo_organizer
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.14/00__drop_resource_public_id.sql
deleted
100644 → 0
View file @
710d1b30
DROP
TABLE
IF
EXISTS
resource_temp
;
CREATE
TABLE
resource_temp
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
filename
TEXT
NOT
NULL
DEFAULT
''
,
blob
BLOB
DEFAULT
NULL
,
external_link
TEXT
NOT
NULL
DEFAULT
''
,
type
TEXT
NOT
NULL
DEFAULT
''
,
size
INTEGER
NOT
NULL
DEFAULT
0
,
internal_path
TEXT
NOT
NULL
DEFAULT
''
);
INSERT
INTO
resource_temp
(
id
,
creator_id
,
created_ts
,
updated_ts
,
filename
,
blob
,
external_link
,
type
,
size
,
internal_path
)
SELECT
id
,
creator_id
,
created_ts
,
updated_ts
,
filename
,
blob
,
external_link
,
type
,
size
,
internal_path
FROM
resource
;
DROP
TABLE
resource
;
ALTER
TABLE
resource_temp
RENAME
TO
resource
;
store/db/sqlite/migration/prod/0.14/01__create_indexes.sql
deleted
100644 → 0
View file @
710d1b30
CREATE
INDEX
IF
NOT
EXISTS
idx_user_username
ON
user
(
username
);
CREATE
INDEX
IF
NOT
EXISTS
idx_memo_creator_id
ON
memo
(
creator_id
);
CREATE
INDEX
IF
NOT
EXISTS
idx_memo_content
ON
memo
(
content
);
CREATE
INDEX
IF
NOT
EXISTS
idx_memo_visibility
ON
memo
(
visibility
);
CREATE
INDEX
IF
NOT
EXISTS
idx_resource_creator_id
ON
resource
(
creator_id
);
store/db/sqlite/migration/prod/0.15/00__drop_user_open_id.sql
deleted
100644 → 0
View file @
710d1b30
DROP
TABLE
IF
EXISTS
user_temp
;
CREATE
TABLE
user_temp
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
username
TEXT
NOT
NULL
UNIQUE
,
role
TEXT
NOT
NULL
CHECK
(
role
IN
(
'HOST'
,
'ADMIN'
,
'USER'
))
DEFAULT
'USER'
,
email
TEXT
NOT
NULL
DEFAULT
''
,
nickname
TEXT
NOT
NULL
DEFAULT
''
,
password_hash
TEXT
NOT
NULL
,
avatar_url
TEXT
NOT
NULL
DEFAULT
''
);
INSERT
INTO
user_temp
(
id
,
created_ts
,
updated_ts
,
row_status
,
username
,
role
,
email
,
nickname
,
password_hash
,
avatar_url
)
SELECT
id
,
created_ts
,
updated_ts
,
row_status
,
username
,
role
,
email
,
nickname
,
password_hash
,
avatar_url
FROM
user
;
DROP
TABLE
user
;
ALTER
TABLE
user_temp
RENAME
TO
user
;
store/db/sqlite/migration/prod/0.16/00__add_memo_id_to_resource.sql
deleted
100644 → 0
View file @
710d1b30
ALTER
TABLE
resource
ADD
COLUMN
memo_id
INTEGER
;
UPDATE
resource
SET
memo_id
=
(
SELECT
memo_id
FROM
memo_resource
WHERE
resource
.
id
=
memo_resource
.
resource_id
LIMIT
1
);
CREATE
INDEX
idx_resource_memo_id
ON
resource
(
memo_id
);
DROP
TABLE
IF
EXISTS
memo_resource
;
store/db/sqlite/migration/prod/0.16/01__drop_shortcut_table.sql
deleted
100644 → 0
View file @
710d1b30
DROP
TABLE
IF
EXISTS
shortcut
;
store/db/sqlite/migration/prod/0.17/00__inbox.sql
deleted
100644 → 0
View file @
710d1b30
-- inbox
CREATE
TABLE
inbox
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
sender_id
INTEGER
NOT
NULL
,
receiver_id
INTEGER
NOT
NULL
,
status
TEXT
NOT
NULL
,
message
TEXT
NOT
NULL
DEFAULT
'{}'
);
store/db/sqlite/migration/prod/0.17/01__delete_activities.sql
deleted
100644 → 0
View file @
710d1b30
DELETE
FROM
activity
;
store/db/sqlite/migration/prod/0.18/00__webhook.sql
deleted
100644 → 0
View file @
710d1b30
-- webhook
CREATE
TABLE
webhook
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
creator_id
INTEGER
NOT
NULL
,
name
TEXT
NOT
NULL
,
url
TEXT
NOT
NULL
);
CREATE
INDEX
idx_webhook_creator_id
ON
webhook
(
creator_id
);
store/db/sqlite/migration/prod/0.18/01__user_setting.sql
deleted
100644 → 0
View file @
710d1b30
UPDATE
user_setting
SET
key
=
'USER_SETTING_LOCALE'
,
value
=
REPLACE
(
value
,
'"'
,
''
)
WHERE
key
=
'locale'
;
UPDATE
user_setting
SET
key
=
'USER_SETTING_APPEARANCE'
,
value
=
REPLACE
(
value
,
'"'
,
''
)
WHERE
key
=
'appearance'
;
UPDATE
user_setting
SET
key
=
'USER_SETTING_MEMO_VISIBILITY'
,
value
=
REPLACE
(
value
,
'"'
,
''
)
WHERE
key
=
'memo-visibility'
;
UPDATE
user_setting
SET
key
=
'USER_SETTING_TELEGRAM_USER_ID'
,
value
=
REPLACE
(
value
,
'"'
,
''
)
WHERE
key
=
'telegram-user-id'
;
store/db/sqlite/migration/prod/0.19/00__add_resource_name.sql
deleted
100644 → 0
View file @
710d1b30
ALTER
TABLE
memo
ADD
COLUMN
resource_name
TEXT
NOT
NULL
DEFAULT
""
;
UPDATE
memo
SET
resource_name
=
lower
(
hex
(
randomblob
(
8
)));
CREATE
UNIQUE
INDEX
idx_memo_resource_name
ON
memo
(
resource_name
);
ALTER
TABLE
resource
ADD
COLUMN
resource_name
TEXT
NOT
NULL
DEFAULT
""
;
UPDATE
resource
SET
resource_name
=
lower
(
hex
(
randomblob
(
8
)));
CREATE
UNIQUE
INDEX
idx_resource_resource_name
ON
resource
(
resource_name
);
store/db/sqlite/migration/prod/0.2/00__user_role.sql
deleted
100644 → 0
View file @
710d1b30
-- change user role field from "OWNER"/"USER" to "HOST"/"USER".
PRAGMA
foreign_keys
=
off
;
DROP
TABLE
IF
EXISTS
_user_old
;
ALTER
TABLE
user
RENAME
TO
_user_old
;
CREATE
TABLE
user
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
email
TEXT
NOT
NULL
UNIQUE
,
role
TEXT
NOT
NULL
CHECK
(
role
IN
(
'HOST'
,
'USER'
))
DEFAULT
'USER'
,
name
TEXT
NOT
NULL
,
password_hash
TEXT
NOT
NULL
,
open_id
TEXT
NOT
NULL
UNIQUE
);
INSERT
INTO
user
(
id
,
created_ts
,
updated_ts
,
row_status
,
email
,
name
,
password_hash
,
open_id
)
SELECT
id
,
created_ts
,
updated_ts
,
row_status
,
email
,
name
,
password_hash
,
open_id
FROM
_user_old
;
UPDATE
user
SET
role
=
'HOST'
WHERE
id
IN
(
SELECT
id
FROM
_user_old
WHERE
role
=
'OWNER'
);
DROP
TABLE
IF
EXISTS
_user_old
;
PRAGMA
foreign_keys
=
on
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.2/01__memo_visibility.sql
deleted
100644 → 0
View file @
710d1b30
ALTER
TABLE
memo
ADD
COLUMN
visibility
TEXT
NOT
NULL
CHECK
(
visibility
IN
(
'PUBLIC'
,
'PRIVATE'
))
DEFAULT
'PRIVATE'
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.20/00__reaction.sql
deleted
100644 → 0
View file @
710d1b30
-- reaction
CREATE
TABLE
reaction
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
creator_id
INTEGER
NOT
NULL
,
content_id
TEXT
NOT
NULL
,
reaction_type
TEXT
NOT
NULL
,
UNIQUE
(
creator_id
,
content_id
,
reaction_type
)
);
store/db/sqlite/migration/prod/0.21/00__user_description.sql
deleted
100644 → 0
View file @
710d1b30
ALTER
TABLE
user
ADD
COLUMN
description
TEXT
NOT
NULL
DEFAULT
""
;
store/db/sqlite/migration/prod/0.21/01__rename_uid.sql
deleted
100644 → 0
View file @
710d1b30
ALTER
TABLE
memo
RENAME
COLUMN
resource_name
TO
uid
;
ALTER
TABLE
resource
RENAME
COLUMN
resource_name
TO
uid
;
store/db/sqlite/migration/prod/0.22/00__resource_storage_type.sql
deleted
100644 → 0
View file @
710d1b30
ALTER
TABLE
resource
ADD
COLUMN
storage_type
TEXT
NOT
NULL
DEFAULT
''
;
ALTER
TABLE
resource
ADD
COLUMN
reference
TEXT
NOT
NULL
DEFAULT
''
;
ALTER
TABLE
resource
ADD
COLUMN
payload
TEXT
NOT
NULL
DEFAULT
'{}'
;
UPDATE
resource
SET
storage_type
=
'LOCAL'
,
reference
=
internal_path
WHERE
internal_path
IS
NOT
NULL
AND
internal_path
!=
''
;
UPDATE
resource
SET
storage_type
=
'EXTERNAL'
,
reference
=
external_link
WHERE
external_link
IS
NOT
NULL
AND
external_link
!=
''
;
ALTER
TABLE
resource
DROP
COLUMN
internal_path
;
ALTER
TABLE
resource
DROP
COLUMN
external_link
;
store/db/sqlite/migration/prod/0.22/01__memo_tags.sql
deleted
100644 → 0
View file @
710d1b30
ALTER
TABLE
memo
ADD
COLUMN
tags
TEXT
NOT
NULL
DEFAULT
'[]'
;
CREATE
INDEX
idx_memo_tags
ON
memo
(
tags
);
store/db/sqlite/migration/prod/0.22/02__memo_payload.sql
deleted
100644 → 0
View file @
710d1b30
ALTER
TABLE
memo
ADD
COLUMN
payload
TEXT
NOT
NULL
DEFAULT
'{}'
;
store/db/sqlite/migration/prod/0.22/03__drop_tag.sql
deleted
100644 → 0
View file @
710d1b30
DROP
TABLE
tag
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.3/00__memo_visibility_protected.sql
deleted
100644 → 0
View file @
710d1b30
-- change memo visibility field from "PRIVATE"/"PUBLIC" to "PRIVATE"/"PROTECTED"/"PUBLIC".
PRAGMA
foreign_keys
=
off
;
DROP
TABLE
IF
EXISTS
_memo_old
;
ALTER
TABLE
memo
RENAME
TO
_memo_old
;
CREATE
TABLE
memo
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
content
TEXT
NOT
NULL
DEFAULT
''
,
visibility
TEXT
NOT
NULL
CHECK
(
visibility
IN
(
'PUBLIC'
,
'PROTECTED'
,
'PRIVATE'
))
DEFAULT
'PRIVATE'
,
FOREIGN
KEY
(
creator_id
)
REFERENCES
user
(
id
)
ON
DELETE
CASCADE
);
INSERT
INTO
memo
(
id
,
creator_id
,
created_ts
,
updated_ts
,
row_status
,
content
,
visibility
)
SELECT
id
,
creator_id
,
created_ts
,
updated_ts
,
row_status
,
content
,
visibility
FROM
_memo_old
;
DROP
TABLE
IF
EXISTS
_memo_old
;
PRAGMA
foreign_keys
=
on
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.4/00__user_setting.sql
deleted
100644 → 0
View file @
710d1b30
-- user_setting
CREATE
TABLE
user_setting
(
user_id
INTEGER
NOT
NULL
,
key
TEXT
NOT
NULL
,
value
TEXT
NOT
NULL
,
FOREIGN
KEY
(
user_id
)
REFERENCES
user
(
id
)
ON
DELETE
CASCADE
);
CREATE
UNIQUE
INDEX
user_setting_key_user_id_index
ON
user_setting
(
key
,
user_id
);
\ No newline at end of file
store/db/sqlite/migration/prod/0.5/00__regenerate_foreign_keys.sql
deleted
100644 → 0
View file @
710d1b30
PRAGMA
foreign_keys
=
off
;
DROP
TABLE
IF
EXISTS
_user_old
;
ALTER
TABLE
user
RENAME
TO
_user_old
;
-- user
CREATE
TABLE
user
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
email
TEXT
NOT
NULL
UNIQUE
,
role
TEXT
NOT
NULL
CHECK
(
role
IN
(
'HOST'
,
'USER'
))
DEFAULT
'USER'
,
name
TEXT
NOT
NULL
,
password_hash
TEXT
NOT
NULL
,
open_id
TEXT
NOT
NULL
UNIQUE
);
INSERT
INTO
user
SELECT
*
FROM
_user_old
;
DROP
TABLE
IF
EXISTS
_user_old
;
DROP
TRIGGER
IF
EXISTS
`trigger_update_user_modification_time`
;
CREATE
TRIGGER
IF
NOT
EXISTS
`trigger_update_user_modification_time`
AFTER
UPDATE
ON
`user`
FOR
EACH
ROW
BEGIN
UPDATE
`user`
SET
updated_ts
=
(
strftime
(
'%s'
,
'now'
))
WHERE
rowid
=
old
.
rowid
;
END
;
DROP
TABLE
IF
EXISTS
_memo_old
;
ALTER
TABLE
memo
RENAME
TO
_memo_old
;
-- memo
CREATE
TABLE
memo
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
content
TEXT
NOT
NULL
DEFAULT
''
,
visibility
TEXT
NOT
NULL
CHECK
(
visibility
IN
(
'PUBLIC'
,
'PROTECTED'
,
'PRIVATE'
))
DEFAULT
'PRIVATE'
,
FOREIGN
KEY
(
creator_id
)
REFERENCES
user
(
id
)
ON
DELETE
CASCADE
);
INSERT
INTO
memo
SELECT
*
FROM
_memo_old
;
DROP
TABLE
IF
EXISTS
_memo_old
;
DROP
TRIGGER
IF
EXISTS
`trigger_update_memo_modification_time`
;
CREATE
TRIGGER
IF
NOT
EXISTS
`trigger_update_memo_modification_time`
AFTER
UPDATE
ON
`memo`
FOR
EACH
ROW
BEGIN
UPDATE
`memo`
SET
updated_ts
=
(
strftime
(
'%s'
,
'now'
))
WHERE
rowid
=
old
.
rowid
;
END
;
DROP
TABLE
IF
EXISTS
_memo_organizer_old
;
ALTER
TABLE
memo_organizer
RENAME
TO
_memo_organizer_old
;
-- memo_organizer
CREATE
TABLE
memo_organizer
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
memo_id
INTEGER
NOT
NULL
,
user_id
INTEGER
NOT
NULL
,
pinned
INTEGER
NOT
NULL
CHECK
(
pinned
IN
(
0
,
1
))
DEFAULT
0
,
FOREIGN
KEY
(
memo_id
)
REFERENCES
memo
(
id
)
ON
DELETE
CASCADE
,
FOREIGN
KEY
(
user_id
)
REFERENCES
user
(
id
)
ON
DELETE
CASCADE
,
UNIQUE
(
memo_id
,
user_id
)
);
INSERT
INTO
memo_organizer
SELECT
*
FROM
_memo_organizer_old
;
DROP
TABLE
IF
EXISTS
_memo_organizer_old
;
DROP
TABLE
IF
EXISTS
_shortcut_old
;
ALTER
TABLE
shortcut
RENAME
TO
_shortcut_old
;
-- shortcut
CREATE
TABLE
shortcut
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
title
TEXT
NOT
NULL
DEFAULT
''
,
payload
TEXT
NOT
NULL
DEFAULT
'{}'
,
FOREIGN
KEY
(
creator_id
)
REFERENCES
user
(
id
)
ON
DELETE
CASCADE
);
INSERT
INTO
shortcut
SELECT
*
FROM
_shortcut_old
;
DROP
TABLE
IF
EXISTS
_shortcut_old
;
DROP
TRIGGER
IF
EXISTS
`trigger_update_shortcut_modification_time`
;
CREATE
TRIGGER
IF
NOT
EXISTS
`trigger_update_shortcut_modification_time`
AFTER
UPDATE
ON
`shortcut`
FOR
EACH
ROW
BEGIN
UPDATE
`shortcut`
SET
updated_ts
=
(
strftime
(
'%s'
,
'now'
))
WHERE
rowid
=
old
.
rowid
;
END
;
DROP
TABLE
IF
EXISTS
_resource_old
;
ALTER
TABLE
resource
RENAME
TO
_resource_old
;
-- resource
CREATE
TABLE
resource
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
filename
TEXT
NOT
NULL
DEFAULT
''
,
blob
BLOB
DEFAULT
NULL
,
type
TEXT
NOT
NULL
DEFAULT
''
,
size
INTEGER
NOT
NULL
DEFAULT
0
,
FOREIGN
KEY
(
creator_id
)
REFERENCES
user
(
id
)
ON
DELETE
CASCADE
);
INSERT
INTO
resource
SELECT
*
FROM
_resource_old
;
DROP
TABLE
IF
EXISTS
_resource_old
;
DROP
TRIGGER
IF
EXISTS
`trigger_update_resource_modification_time`
;
CREATE
TRIGGER
IF
NOT
EXISTS
`trigger_update_resource_modification_time`
AFTER
UPDATE
ON
`resource`
FOR
EACH
ROW
BEGIN
UPDATE
`resource`
SET
updated_ts
=
(
strftime
(
'%s'
,
'now'
))
WHERE
rowid
=
old
.
rowid
;
END
;
DROP
TABLE
IF
EXISTS
_user_setting_old
;
ALTER
TABLE
user_setting
RENAME
TO
_user_setting_old
;
-- user_setting
CREATE
TABLE
user_setting
(
user_id
INTEGER
NOT
NULL
,
key
TEXT
NOT
NULL
,
value
TEXT
NOT
NULL
,
FOREIGN
KEY
(
user_id
)
REFERENCES
user
(
id
)
ON
DELETE
CASCADE
,
UNIQUE
(
user_id
,
key
)
);
INSERT
INTO
user_setting
SELECT
*
FROM
_user_setting_old
;
DROP
TABLE
IF
EXISTS
_user_setting_old
;
PRAGMA
foreign_keys
=
on
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.5/01__memo_resource.sql
deleted
100644 → 0
View file @
710d1b30
-- memo_resource
CREATE
TABLE
memo_resource
(
memo_id
INTEGER
NOT
NULL
,
resource_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
FOREIGN
KEY
(
memo_id
)
REFERENCES
memo
(
id
)
ON
DELETE
CASCADE
,
FOREIGN
KEY
(
resource_id
)
REFERENCES
resource
(
id
)
ON
DELETE
CASCADE
,
UNIQUE
(
memo_id
,
resource_id
)
);
\ No newline at end of file
store/db/sqlite/migration/prod/0.5/02__system_setting.sql
deleted
100644 → 0
View file @
710d1b30
-- system_setting
CREATE
TABLE
system_setting
(
name
TEXT
NOT
NULL
,
value
TEXT
NOT
NULL
,
description
TEXT
NOT
NULL
DEFAULT
''
,
UNIQUE
(
name
)
);
\ No newline at end of file
store/db/sqlite/migration/prod/0.5/03__resource_extermal_link.sql
deleted
100644 → 0
View file @
710d1b30
ALTER
TABLE
resource
ADD
COLUMN
external_link
TEXT
NOT
NULL
DEFAULT
''
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.6/00__recreate_triggers.sql
deleted
100644 → 0
View file @
710d1b30
DROP
TRIGGER
IF
EXISTS
`trigger_update_user_modification_time`
;
CREATE
TRIGGER
IF
NOT
EXISTS
`trigger_update_user_modification_time`
AFTER
UPDATE
ON
`user`
FOR
EACH
ROW
BEGIN
UPDATE
`user`
SET
updated_ts
=
(
strftime
(
'%s'
,
'now'
))
WHERE
rowid
=
old
.
rowid
;
END
;
DROP
TRIGGER
IF
EXISTS
`trigger_update_memo_modification_time`
;
CREATE
TRIGGER
IF
NOT
EXISTS
`trigger_update_memo_modification_time`
AFTER
UPDATE
ON
`memo`
FOR
EACH
ROW
BEGIN
UPDATE
`memo`
SET
updated_ts
=
(
strftime
(
'%s'
,
'now'
))
WHERE
rowid
=
old
.
rowid
;
END
;
DROP
TRIGGER
IF
EXISTS
`trigger_update_shortcut_modification_time`
;
CREATE
TRIGGER
IF
NOT
EXISTS
`trigger_update_shortcut_modification_time`
AFTER
UPDATE
ON
`shortcut`
FOR
EACH
ROW
BEGIN
UPDATE
`shortcut`
SET
updated_ts
=
(
strftime
(
'%s'
,
'now'
))
WHERE
rowid
=
old
.
rowid
;
END
;
DROP
TRIGGER
IF
EXISTS
`trigger_update_resource_modification_time`
;
CREATE
TRIGGER
IF
NOT
EXISTS
`trigger_update_resource_modification_time`
AFTER
UPDATE
ON
`resource`
FOR
EACH
ROW
BEGIN
UPDATE
`resource`
SET
updated_ts
=
(
strftime
(
'%s'
,
'now'
))
WHERE
rowid
=
old
.
rowid
;
END
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.7/00__remove_fk.sql
deleted
100644 → 0
View file @
710d1b30
PRAGMA
foreign_keys
=
off
;
DROP
TABLE
IF
EXISTS
_user_old
;
ALTER
TABLE
user
RENAME
TO
_user_old
;
-- user
CREATE
TABLE
user
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
email
TEXT
NOT
NULL
UNIQUE
,
role
TEXT
NOT
NULL
CHECK
(
role
IN
(
'HOST'
,
'USER'
))
DEFAULT
'USER'
,
name
TEXT
NOT
NULL
,
password_hash
TEXT
NOT
NULL
,
open_id
TEXT
NOT
NULL
UNIQUE
);
INSERT
INTO
user
SELECT
*
FROM
_user_old
;
DROP
TABLE
IF
EXISTS
_user_old
;
DROP
TABLE
IF
EXISTS
_memo_old
;
ALTER
TABLE
memo
RENAME
TO
_memo_old
;
-- memo
CREATE
TABLE
memo
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
content
TEXT
NOT
NULL
DEFAULT
''
,
visibility
TEXT
NOT
NULL
CHECK
(
visibility
IN
(
'PUBLIC'
,
'PROTECTED'
,
'PRIVATE'
))
DEFAULT
'PRIVATE'
);
INSERT
INTO
memo
SELECT
*
FROM
_memo_old
;
DROP
TABLE
IF
EXISTS
_memo_old
;
DROP
TABLE
IF
EXISTS
_memo_organizer_old
;
ALTER
TABLE
memo_organizer
RENAME
TO
_memo_organizer_old
;
-- memo_organizer
CREATE
TABLE
memo_organizer
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
memo_id
INTEGER
NOT
NULL
,
user_id
INTEGER
NOT
NULL
,
pinned
INTEGER
NOT
NULL
CHECK
(
pinned
IN
(
0
,
1
))
DEFAULT
0
,
UNIQUE
(
memo_id
,
user_id
)
);
INSERT
INTO
memo_organizer
SELECT
*
FROM
_memo_organizer_old
;
DROP
TABLE
IF
EXISTS
_memo_organizer_old
;
DROP
TABLE
IF
EXISTS
_shortcut_old
;
ALTER
TABLE
shortcut
RENAME
TO
_shortcut_old
;
-- shortcut
CREATE
TABLE
shortcut
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
title
TEXT
NOT
NULL
DEFAULT
''
,
payload
TEXT
NOT
NULL
DEFAULT
'{}'
);
INSERT
INTO
shortcut
SELECT
*
FROM
_shortcut_old
;
DROP
TABLE
IF
EXISTS
_shortcut_old
;
DROP
TABLE
IF
EXISTS
_resource_old
;
ALTER
TABLE
resource
RENAME
TO
_resource_old
;
-- resource
CREATE
TABLE
resource
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
filename
TEXT
NOT
NULL
DEFAULT
''
,
blob
BLOB
DEFAULT
NULL
,
external_link
TEXT
NOT
NULL
DEFAULT
''
,
type
TEXT
NOT
NULL
DEFAULT
''
,
size
INTEGER
NOT
NULL
DEFAULT
0
);
INSERT
INTO
resource
(
id
,
creator_id
,
created_ts
,
updated_ts
,
filename
,
blob
,
external_link
,
type
,
size
)
SELECT
id
,
creator_id
,
created_ts
,
updated_ts
,
filename
,
blob
,
external_link
,
type
,
size
FROM
_resource_old
;
DROP
TABLE
IF
EXISTS
_resource_old
;
DROP
TABLE
IF
EXISTS
_user_setting_old
;
ALTER
TABLE
user_setting
RENAME
TO
_user_setting_old
;
-- user_setting
CREATE
TABLE
user_setting
(
user_id
INTEGER
NOT
NULL
,
key
TEXT
NOT
NULL
,
value
TEXT
NOT
NULL
,
UNIQUE
(
user_id
,
key
)
);
INSERT
INTO
user_setting
SELECT
*
FROM
_user_setting_old
;
DROP
TABLE
IF
EXISTS
_user_setting_old
;
DROP
TABLE
IF
EXISTS
_memo_resource_old
;
ALTER
TABLE
memo_resource
RENAME
TO
_memo_resource_old
;
-- memo_resource
CREATE
TABLE
memo_resource
(
memo_id
INTEGER
NOT
NULL
,
resource_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
UNIQUE
(
memo_id
,
resource_id
)
);
INSERT
INTO
memo_resource
SELECT
*
FROM
_memo_resource_old
;
DROP
TABLE
IF
EXISTS
_memo_resource_old
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.7/01__remove_triggers.sql
deleted
100644 → 0
View file @
710d1b30
DROP
TRIGGER
IF
EXISTS
`trigger_update_user_modification_time`
;
DROP
TRIGGER
IF
EXISTS
`trigger_update_memo_modification_time`
;
DROP
TRIGGER
IF
EXISTS
`trigger_update_shortcut_modification_time`
;
DROP
TRIGGER
IF
EXISTS
`trigger_update_resource_modification_time`
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.8/00__migration_history.sql
deleted
100644 → 0
View file @
710d1b30
-- migration_history
CREATE
TABLE
IF
NOT
EXISTS
migration_history
(
version
TEXT
NOT
NULL
PRIMARY
KEY
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
))
);
\ No newline at end of file
store/db/sqlite/migration/prod/0.8/01__user_username.sql
deleted
100644 → 0
View file @
710d1b30
-- add column username TEXT NOT NULL UNIQUE
-- rename column name to nickname
-- add role `ADMIN`
DROP
TABLE
IF
EXISTS
_user_old
;
ALTER
TABLE
user
RENAME
TO
_user_old
;
-- user
CREATE
TABLE
user
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
username
TEXT
NOT
NULL
UNIQUE
,
role
TEXT
NOT
NULL
CHECK
(
role
IN
(
'HOST'
,
'ADMIN'
,
'USER'
))
DEFAULT
'USER'
,
email
TEXT
NOT
NULL
DEFAULT
''
,
nickname
TEXT
NOT
NULL
DEFAULT
''
,
password_hash
TEXT
NOT
NULL
,
open_id
TEXT
NOT
NULL
UNIQUE
);
INSERT
INTO
user
(
id
,
created_ts
,
updated_ts
,
row_status
,
username
,
role
,
email
,
nickname
,
password_hash
,
open_id
)
SELECT
id
,
created_ts
,
updated_ts
,
row_status
,
email
,
role
,
email
,
name
,
password_hash
,
open_id
FROM
_user_old
;
DROP
TABLE
IF
EXISTS
_user_old
;
\ No newline at end of file
store/db/sqlite/migration/prod/0.9/00__tag.sql
deleted
100644 → 0
View file @
710d1b30
-- tag
CREATE
TABLE
tag
(
name
TEXT
NOT
NULL
,
creator_id
INTEGER
NOT
NULL
,
UNIQUE
(
name
,
creator_id
)
);
\ No newline at end of file
store/db/sqlite/migration/prod/LATEST__SCHEMA.sql
deleted
100644 → 0
View file @
710d1b30
-- 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
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
username
TEXT
NOT
NULL
UNIQUE
,
role
TEXT
NOT
NULL
CHECK
(
role
IN
(
'HOST'
,
'ADMIN'
,
'USER'
))
DEFAULT
'USER'
,
email
TEXT
NOT
NULL
DEFAULT
''
,
nickname
TEXT
NOT
NULL
DEFAULT
''
,
password_hash
TEXT
NOT
NULL
,
avatar_url
TEXT
NOT
NULL
DEFAULT
''
,
description
TEXT
NOT
NULL
DEFAULT
''
);
CREATE
INDEX
idx_user_username
ON
user
(
username
);
-- 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
,
uid
TEXT
NOT
NULL
UNIQUE
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
content
TEXT
NOT
NULL
DEFAULT
''
,
visibility
TEXT
NOT
NULL
CHECK
(
visibility
IN
(
'PUBLIC'
,
'PROTECTED'
,
'PRIVATE'
))
DEFAULT
'PRIVATE'
,
tags
TEXT
NOT
NULL
DEFAULT
'[]'
,
payload
TEXT
NOT
NULL
DEFAULT
'{}'
);
CREATE
INDEX
idx_memo_creator_id
ON
memo
(
creator_id
);
CREATE
INDEX
idx_memo_content
ON
memo
(
content
);
CREATE
INDEX
idx_memo_visibility
ON
memo
(
visibility
);
CREATE
INDEX
idx_memo_tags
ON
memo
(
tags
);
-- memo_organizer
CREATE
TABLE
memo_organizer
(
memo_id
INTEGER
NOT
NULL
,
user_id
INTEGER
NOT
NULL
,
pinned
INTEGER
NOT
NULL
CHECK
(
pinned
IN
(
0
,
1
))
DEFAULT
0
,
UNIQUE
(
memo_id
,
user_id
)
);
-- memo_relation
CREATE
TABLE
memo_relation
(
memo_id
INTEGER
NOT
NULL
,
related_memo_id
INTEGER
NOT
NULL
,
type
TEXT
NOT
NULL
,
UNIQUE
(
memo_id
,
related_memo_id
,
type
)
);
-- resource
CREATE
TABLE
resource
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
uid
TEXT
NOT
NULL
UNIQUE
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
filename
TEXT
NOT
NULL
DEFAULT
''
,
blob
BLOB
DEFAULT
NULL
,
type
TEXT
NOT
NULL
DEFAULT
''
,
size
INTEGER
NOT
NULL
DEFAULT
0
,
memo_id
INTEGER
,
storage_type
TEXT
NOT
NULL
DEFAULT
''
,
reference
TEXT
NOT
NULL
DEFAULT
''
,
payload
TEXT
NOT
NULL
DEFAULT
'{}'
);
CREATE
INDEX
idx_resource_creator_id
ON
resource
(
creator_id
);
CREATE
INDEX
idx_resource_memo_id
ON
resource
(
memo_id
);
-- activity
CREATE
TABLE
activity
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
creator_id
INTEGER
NOT
NULL
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
type
TEXT
NOT
NULL
DEFAULT
''
,
level
TEXT
NOT
NULL
CHECK
(
level
IN
(
'INFO'
,
'WARN'
,
'ERROR'
))
DEFAULT
'INFO'
,
payload
TEXT
NOT
NULL
DEFAULT
'{}'
);
-- idp
CREATE
TABLE
idp
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
name
TEXT
NOT
NULL
,
type
TEXT
NOT
NULL
,
identifier_filter
TEXT
NOT
NULL
DEFAULT
''
,
config
TEXT
NOT
NULL
DEFAULT
'{}'
);
-- inbox
CREATE
TABLE
inbox
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
sender_id
INTEGER
NOT
NULL
,
receiver_id
INTEGER
NOT
NULL
,
status
TEXT
NOT
NULL
,
message
TEXT
NOT
NULL
DEFAULT
'{}'
);
-- webhook
CREATE
TABLE
webhook
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
updated_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
row_status
TEXT
NOT
NULL
CHECK
(
row_status
IN
(
'NORMAL'
,
'ARCHIVED'
))
DEFAULT
'NORMAL'
,
creator_id
INTEGER
NOT
NULL
,
name
TEXT
NOT
NULL
,
url
TEXT
NOT
NULL
);
CREATE
INDEX
idx_webhook_creator_id
ON
webhook
(
creator_id
);
-- reaction
CREATE
TABLE
reaction
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
created_ts
BIGINT
NOT
NULL
DEFAULT
(
strftime
(
'%s'
,
'now'
)),
creator_id
INTEGER
NOT
NULL
,
content_id
TEXT
NOT
NULL
,
reaction_type
TEXT
NOT
NULL
,
UNIQUE
(
creator_id
,
content_id
,
reaction_type
)
);
store/db/sqlite/seed/dump.sql
deleted
100644 → 0
View file @
710d1b30
This diff is collapsed.
Click to expand it.
store/db/sqlite/sqlite.go
View file @
1b6685d7
...
@@ -50,12 +50,12 @@ func NewDB(profile *profile.Profile) (store.Driver, error) {
...
@@ -50,12 +50,12 @@ func NewDB(profile *profile.Profile) (store.Driver, error) {
return
&
driver
,
nil
return
&
driver
,
nil
}
}
func
(
d
*
DB
)
GetDB
()
*
sql
.
DB
{
func
(
*
DB
)
Type
()
string
{
return
d
.
db
return
"sqlite"
}
}
func
(
d
*
DB
)
Type
()
string
{
func
(
d
*
DB
)
GetDB
()
*
sql
.
DB
{
return
"sqlite"
return
d
.
db
}
}
func
(
d
*
DB
)
Close
()
error
{
func
(
d
*
DB
)
Close
()
error
{
...
...
store/migrator.go
View file @
1b6685d7
...
@@ -10,6 +10,7 @@ import (
...
@@ -10,6 +10,7 @@ import (
"sort"
"sort"
"github.com/pkg/errors"
"github.com/pkg/errors"
"github.com/usememos/memos/server/version"
"github.com/usememos/memos/server/version"
)
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment