Rename column

This commit is contained in:
Till Faelligen 2022-06-13 07:15:59 +02:00
parent 3fea5d791f
commit ecad5ce774
4 changed files with 21 additions and 21 deletions

View file

@ -16,10 +16,10 @@ func LoadProfilePrimaryKey(m *sqlutil.Migrations, s gomatrixserverlib.ServerName
}
func UpProfilePrimaryKey(tx *sql.Tx) error {
_, err := tx.Exec(fmt.Sprintf(`ALTER TABLE account_profiles ADD COLUMN IF NOT EXISTS servername TEXT NOT NULL DEFAULT '%s';
_, err := tx.Exec(fmt.Sprintf(`ALTER TABLE account_profiles ADD COLUMN IF NOT EXISTS server_name TEXT NOT NULL DEFAULT '%s';
ALTER TABLE account_profiles DROP CONSTRAINT account_profiles_pkey;
ALTER TABLE account_profiles ADD PRIMARY KEY (localpart, servername);
ALTER TABLE account_profiles ALTER COLUMN servername DROP DEFAULT;`, serverName))
ALTER TABLE account_profiles ADD PRIMARY KEY (localpart, server_name);
ALTER TABLE account_profiles ALTER COLUMN server_name DROP DEFAULT;`, serverName))
if err != nil {
return fmt.Errorf("failed to execute upgrade: %w", err)
}
@ -27,7 +27,7 @@ func UpProfilePrimaryKey(tx *sql.Tx) error {
}
func DownProfilePrimaryKey(tx *sql.Tx) error {
_, err := tx.Exec(`ALTER TABLE account_profiles DROP COLUMN IF EXISTS servername;
_, err := tx.Exec(`ALTER TABLE account_profiles DROP COLUMN IF EXISTS server_name;
ALTER TABLE account_profiles ADD PRIMARY KEY(localpart);`)
if err != nil {
return fmt.Errorf("failed to execute downgrade: %w", err)

View file

@ -32,29 +32,29 @@ CREATE TABLE IF NOT EXISTS account_profiles (
-- The Matrix user ID localpart for this account
localpart TEXT NOT NULL,
-- The server this user belongs to
servername TEXT NOT NULL,
server_name TEXT NOT NULL,
-- The display name for this account
display_name TEXT,
-- The URL of the avatar for this account
avatar_url TEXT,
PRIMARY KEY (localpart, servername)
PRIMARY KEY (localpart, server_name)
);
`
const insertProfileSQL = "" +
"INSERT INTO account_profiles(localpart, display_name, avatar_url, servername) VALUES ($1, $2, $3, $4)"
"INSERT INTO account_profiles(localpart, display_name, avatar_url, server_name) VALUES ($1, $2, $3, $4)"
const selectProfileByLocalpartSQL = "" +
"SELECT localpart, display_name, avatar_url FROM account_profiles WHERE localpart = $1 AND servername = $2"
"SELECT localpart, display_name, avatar_url FROM account_profiles WHERE localpart = $1 AND server_name = $2"
const setAvatarURLSQL = "" +
"UPDATE account_profiles SET avatar_url = $1 WHERE localpart = $2 AND servername = $3"
"UPDATE account_profiles SET avatar_url = $1 WHERE localpart = $2 AND server_name = $3"
const setDisplayNameSQL = "" +
"UPDATE account_profiles SET display_name = $1 WHERE localpart = $2 AND servername = $3"
"UPDATE account_profiles SET display_name = $1 WHERE localpart = $2 AND server_name = $3"
const selectProfilesBySearchSQL = "" +
"SELECT localpart, display_name, avatar_url, servername FROM account_profiles WHERE localpart LIKE $1 OR display_name LIKE $1 LIMIT $2"
"SELECT localpart, display_name, avatar_url, server_name FROM account_profiles WHERE localpart LIKE $1 OR display_name LIKE $1 LIMIT $2"
type profilesStatements struct {
serverNoticesLocalpart string

View file

@ -20,14 +20,14 @@ func UpProfilePrimaryKey(tx *sql.Tx) error {
ALTER TABLE account_profiles RENAME TO account_profiles_tmp;
CREATE TABLE IF NOT EXISTS account_profiles (
localpart TEXT NOT NULL,
servername TEXT NOT NULL,
server_name TEXT NOT NULL,
display_name TEXT,
avatar_url TEXT,
PRIMARY KEY (localpart, servername)
PRIMARY KEY (localpart, server_name)
);
INSERT
INTO account_profiles (
localpart, servername, display_name, avatar_url
localpart, server_name, display_name, avatar_url
) SELECT
localpart, '%s', display_name, avatar_url
FROM account_profiles_tmp;

View file

@ -32,29 +32,29 @@ CREATE TABLE IF NOT EXISTS account_profiles (
-- The Matrix user ID localpart for this account
localpart TEXT NOT NULL,
-- The server this user belongs to
servername TEXT NOT NULL,
server_name TEXT NOT NULL,
-- The display name for this account
display_name TEXT,
-- The URL of the avatar for this account
avatar_url TEXT,
PRIMARY KEY (localpart, servername)
PRIMARY KEY (localpart, server_name)
);
`
const insertProfileSQL = "" +
"INSERT INTO account_profiles(localpart, display_name, avatar_url, servername) VALUES ($1, $2, $3, $4)"
"INSERT INTO account_profiles(localpart, display_name, avatar_url, server_name) VALUES ($1, $2, $3, $4)"
const selectProfileByLocalpartSQL = "" +
"SELECT localpart, display_name, avatar_url FROM account_profiles WHERE localpart = $1 AND servername = $2"
"SELECT localpart, display_name, avatar_url FROM account_profiles WHERE localpart = $1 AND server_name = $2"
const setAvatarURLSQL = "" +
"UPDATE account_profiles SET avatar_url = $1 WHERE localpart = $2 AND servername = $3"
"UPDATE account_profiles SET avatar_url = $1 WHERE localpart = $2 AND server_name = $3"
const setDisplayNameSQL = "" +
"UPDATE account_profiles SET display_name = $1 WHERE localpart = $2 AND servername = $3"
"UPDATE account_profiles SET display_name = $1 WHERE localpart = $2 AND server_name = $3"
const selectProfilesBySearchSQL = "" +
"SELECT localpart, display_name, avatar_url, servername FROM account_profiles WHERE localpart LIKE $1 OR display_name LIKE $1 LIMIT $2"
"SELECT localpart, display_name, avatar_url, server_name FROM account_profiles WHERE localpart LIKE $1 OR display_name LIKE $1 LIMIT $2"
type profilesStatements struct {
db *sql.DB