![]() SQL database system |
Removing, renaming, or copying your indexes, fields, tables, or databases
One of SHSQL's advantages is that it is generally easy to move databases, clone databases,
and do other manipulations, since SHSQL databases are unix text files or directories of files.
Depending on the task, there may be an SQL-based method, a manual shell command line method, or both.
Removing all indexes associated with a tableSQL method: drop index on tablename *
Manual method:
Go into the indexes directory and delete all files that begin
with the table name. For example, to remove all indexes
for table 'people': rm people.*
Removing the index on a specific table and fieldSQL method: drop index on tablename fieldname
Manual method:
Go into the indexes directory.
Index files are named tablename . fieldname . ilevel.
Delete the index files that contain the table and field in the file name.
The tablename.0 file requires no modification.
Removing all indexes in a databaseManual method: Go into the Indexes directory and do: rm *Removing a tableSQL method: drop table tablename
Manual method:
Go into the dbtabledir directory
and delete the desired table data file.
If any indexes are associated with the table, delete them also (see above).
Removing a databaseManual method: To completely delete an entire database, do: rm -rf on the project directory. (Are you sure?)Moving or renaming a databaseManual method: rename the project directory, then modify the project directory name in the project config file, and change SHSQL_DB if applicable.Changing the ownership of a databaseManual method: Use chown -r and/or chgrp -r on the project directory.Copying / cloning a databaseManual method: For example, to copy the database located in /home/steve/dbproj, go to /home/steve and issue the command cp -r -p dbproj dbproj2. Then go into dbproj2 and modify the config file. Set SHSQL_DB to reference whichever database copy you wish.Renaming a tableManual method: Go into dbtabledir directory and rename the table data file. If any indexes are associated with the table, rename those files in the Indexes directory. Any code that references the table by name will also require attention.Copying a tableManual method: Go into dbtabledir directory and do a cp -p on the table data file.Renaming a fieldEdit the data file and change the fieldname header. If any indexes are associated with the fieldname, rename those files in the Indexes directory. Any code that references the field by name will also require attention.Adding a new field to an existing tableSQL method: ALTER TABLE command.
Manual method: processing with your favorite tools.
Removing a field from a tableSQL method: ALTER TABLE command.Manual method: processing with your favorite tools. Rearranging fields in a table
Process with your favorite tools. No other file needs to be modified.
|
![]() Copyright Steve Grubb |