Thank you kindly, Tlaukkan (Tommil) for a patch that:

Cleaned up schema creation scripts of MySQL to compliant form and created 
SQLite scripts from them. In future it would be optimal if scripts from 
different databases could be generated from MySQL scripts to ensure optimal 
consistency between schemas of different databases. Did not yet review 
column names. ID columns seem to have variety in naming which can be confusing.
This commit is contained in:
Charles Krinke
2009-01-12 20:14:39 +00:00
parent ade107f04f
commit c00c855cc5
10 changed files with 679 additions and 597 deletions

View File

@@ -1,108 +1,104 @@
BEGIN TRANSACTION;
create table UserAgents (
ProfileID TEXT not null,
AgentIP TEXT,
AgentPort INTEGER,
AgentOnline INTEGER,
SessionID TEXT,
SecureSessionID TEXT,
InitialRegion TEXT,
Region TEXT,
LoginTime INTEGER,
LogoutTime INTEGER,
Handle INTEGER,
PositionX NUMERIC,
PositionY NUMERIC,
PositionZ NUMERIC,
LookAtX NUMERIC,
LookAtY NUMERIC,
LookAtZ NUMERIC,
primary key (ProfileID)
CREATE TABLE UserAgents (
ProfileID VARCHAR(36) NOT NULL,
AgentIP VARCHAR(24) DEFAULT NULL,
AgentPort INT DEFAULT NULL,
AgentOnline BIT DEFAULT NULL,
SessionID VARCHAR(36) DEFAULT NULL,
SecureSessionID VARCHAR(36) DEFAULT NULL,
InitialRegion VARCHAR(255) DEFAULT NULL,
Region VARCHAR(255) DEFAULT NULL,
LoginTime INT DEFAULT NULL,
LogoutTime INT DEFAULT NULL,
Handle BIGINT DEFAULT NULL,
PositionX DOUBLE DEFAULT NULL,
PositionY DOUBLE DEFAULT NULL,
PositionZ DOUBLE DEFAULT NULL,
LookAtX DOUBLE DEFAULT NULL,
LookAtY DOUBLE DEFAULT NULL,
LookAtZ DOUBLE DEFAULT NULL,
PRIMARY KEY (ProfileID)
);
create table UserProfiles (
ID TEXT not null,
WebLoginKey TEXT,
FirstName TEXT,
SurName TEXT,
Email TEXT,
PasswordHash TEXT,
PasswordSalt TEXT,
HomeRegionID TEXT,
HomeRegionX INTEGER,
HomeRegionY INTEGER,
HomeLocationX NUMERIC,
HomeLocationY NUMERIC,
HomeLocationZ NUMERIC,
HomeLookAtX NUMERIC,
HomeLookAtY NUMERIC,
HomeLookAtZ NUMERIC,
Created INTEGER,
LastLogin INTEGER,
UserInventoryURI TEXT,
UserAssetURI TEXT,
Image TEXT,
FirstLifeImage TEXT,
AboutText TEXT,
FirstLifeAboutText TEXT,
RootInventoryFolderID TEXT,
`CanDoMask` INTEGER,
`WantDoMask` INTEGER,
`UserFlags` INTEGER,
`GodLevel` INTEGER,
`CustomType` TEXT,
`Partner` TEXT,
primary key (ID)
CREATE TABLE UserProfiles (
ID VARCHAR(36) NOT NULL,
WebLoginKey VARCHAR(36) DEFAULT NULL,
FirstName VARCHAR(32) DEFAULT NULL,
SurName VARCHAR(32) DEFAULT NULL,
Email VARCHAR(250) DEFAULT NULL,
PasswordHash VARCHAR(32) DEFAULT NULL,
PasswordSalt VARCHAR(32) DEFAULT NULL,
HomeRegionID VARCHAR(36) DEFAULT NULL,
HomeRegionX INT DEFAULT NULL,
HomeRegionY INT DEFAULT NULL,
HomeLocationX DOUBLE DEFAULT NULL,
HomeLocationY DOUBLE DEFAULT NULL,
HomeLocationZ DOUBLE DEFAULT NULL,
HomeLookAtX DOUBLE DEFAULT NULL,
HomeLookAtY DOUBLE DEFAULT NULL,
HomeLookAtZ DOUBLE DEFAULT NULL,
Created INT DEFAULT NULL,
LastLogin INT DEFAULT NULL,
UserInventoryURI VARCHAR(255) DEFAULT NULL,
UserAssetURI VARCHAR(255) DEFAULT NULL,
Image VARCHAR(36) DEFAULT NULL,
FirstLifeImage VARCHAR(36) DEFAULT NULL,
AboutText TEXT DEFAULT NULL,
FirstLifeAboutText TEXT DEFAULT NULL,
CanDoMask INT DEFAULT NULL,
WantDoMask INT DEFAULT NULL,
UserFlags INT DEFAULT NULL,
GodLevel INT DEFAULT NULL,
CustomType VARCHAR(32) DEFAULT NULL,
Partner VARCHAR(36) DEFAULT NULL,
RootInventoryFolderID VARCHAR(36) DEFAULT NULL,
PRIMARY KEY (ID)
);
create table UserAppearances (
Owner TEXT not null,
BodyItem TEXT,
BodyAsset TEXT,
SkinItem TEXT,
SkinAsset TEXT,
HairItem TEXT,
HairAsset TEXT,
EyesItem TEXT,
EyesAsset TEXT,
ShirtItem TEXT,
ShirtAsset TEXT,
PantsItem TEXT,
PantsAsset TEXT,
ShoesItem TEXT,
ShoesAsset TEXT,
SocksItem TEXT,
SocksAsset TEXT,
JacketItem TEXT,
JacketAsset TEXT,
GlovesItem TEXT,
GlovesAsset TEXT,
UnderShirtItem TEXT,
UnderShirtAsset TEXT,
UnderPantsItem TEXT,
UnderPantsAsset TEXT,
SkirtItem TEXT,
SkirtAsset TEXT,
Texture BLOB,
VisualParams BLOB,
Serial INTEGER,
AvatarHeight NUMERIC,
primary key (Owner)
);
CREATE INDEX UserSurnameIndex ON UserProfiles (SurName);
CREATE INDEX UserFirstNameIndex ON UserProfiles (FirstName);
CREATE UNIQUE INDEX UserFullNameIndex ON UserProfiles (SurName,FirstName);
CREATE TABLE UserAppearances (
Owner VARCHAR(36) NOT NULL,
BodyItem VARCHAR(36) DEFAULT NULL,
BodyAsset VARCHAR(36) DEFAULT NULL,
SkinItem VARCHAR(36) DEFAULT NULL,
SkinAsset VARCHAR(36) DEFAULT NULL,
HairItem VARCHAR(36) DEFAULT NULL,
HairAsset VARCHAR(36) DEFAULT NULL,
EyesItem VARCHAR(36) DEFAULT NULL,
EyesAsset VARCHAR(36) DEFAULT NULL,
ShirtItem VARCHAR(36) DEFAULT NULL,
ShirtAsset VARCHAR(36) DEFAULT NULL,
PantsItem VARCHAR(36) DEFAULT NULL,
PantsAsset VARCHAR(36) DEFAULT NULL,
ShoesItem VARCHAR(36) DEFAULT NULL,
ShoesAsset VARCHAR(36) DEFAULT NULL,
SocksItem VARCHAR(36) DEFAULT NULL,
SocksAsset VARCHAR(36) DEFAULT NULL,
JacketItem VARCHAR(36) DEFAULT NULL,
JacketAsset VARCHAR(36) DEFAULT NULL,
GlovesItem VARCHAR(36) DEFAULT NULL,
GlovesAsset VARCHAR(36) DEFAULT NULL,
UnderShirtItem VARCHAR(36) DEFAULT NULL,
UnderShirtAsset VARCHAR(36) DEFAULT NULL,
UnderPantsItem VARCHAR(36) DEFAULT NULL,
UnderPantsAsset VARCHAR(36) DEFAULT NULL,
SkirtItem VARCHAR(36) DEFAULT NULL,
SkirtAsset VARCHAR(36) DEFAULT NULL,
Texture BLOB,
VisualParams BLOB,
Serial INT DEFAULT NULL,
AvatarHeight FLOAT DEFAULT NULL,
PRIMARY KEY (Owner)
);
CREATE TABLE UserFriends (
UserFriendID TEXT,
OwnerID TEXT,
FriendID TEXT,
FriendPermissions INTEGER,
primary key (UserFriendID)
UserFriendID VARCHAR(36) NOT NULL,
OwnerID VARCHAR(36) DEFAULT NULL,
FriendID VARCHAR(36) DEFAULT NULL,
FriendPermissions INT DEFAULT NULL,
PRIMARY KEY (UserFriendID)
);
create index UserFirstNameIndex on UserProfiles (FirstName);
create index UserSurnameIndex on UserProfiles (SurName);
create unique index UserFullNameIndex on UserProfiles (FirstName,SurName);
create unique index UserFriendsOwnerFriendIndex on UserFriends (OwnerID,FriendID);
COMMIT;
CREATE UNIQUE INDEX UserFriendsOwnerIdFriendIdIndex ON UserFriends (OwnerID,FriendID);