Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Вниз

Как обновить структуру базы данных не теряя данные ?   Найти похожие ветки 

 
dreamse   (2006-01-06 09:18) [0]

Есть база MS SQL ( MSDE )

В новых версиях программы структура базы меняеться , в основном добавляються новые таблицы и ключи в уже существующие таблицы , удаления нет.

Каким образом можно обновлять структуру базы данных чтобы при этом все данные в базе оставались на своих местах ? Обновление хотелось бы сделать автоматическое чтобы не напрягать вообще пользователей.

Есть ли готовое решение ?


 
Fay ©   (2006-01-06 09:32) [1]

alter table, что-ли?


 
Dreamse   (2006-01-06 11:01) [2]

Поподробней можно ?

Кстати слудует учитывать что я не знаю какую имено колонку или какие данные добавлять , просто у меня есть уже список новый колонок и таблиц , так вот из него и нужно добавлять всё то чего нету


 
Fay ©   (2006-01-06 11:25) [3]

2 Dreamse   (06.01.06 11:01) [2]
> Поподробней можно ?
Благородный дон, я решительно не понимаю, что именно требует уточнения :
1) синтаксис alter table
2) способы извлечения метаданных
3) прогноз погоды на завтра
?
К тому же остаются загадкой понятие "добавлять данные" и совместимость "я не знаю какую имено колонку" с "просто у меня есть уже список новый колонок"

Думаю придётся Вам описать задачу кратко и ясно (как шпаргалки пишут), снабдив текст уточнениями о том, где именно возникают сложности.


 
Dreamse   (2006-01-06 11:51) [4]

синтаксис alter table позволит сделать слудуещее ?

function alter_ляляля(старая таблица, Новая таблица)  

в итоге в старой таблице появляються все недостающие колонки с сохранением данных.

Вот так ? или как ? Если можно то синтаксис я бы всё таки посмотрел


 
Reindeer Moss Eater ©   (2006-01-06 11:59) [5]

Если можно то синтаксис я бы всё таки посмотрел</I
А что мешает? Дай угадаю, - документацию украли.


 
Desdechado ©   (2006-01-06 12:17) [6]

если ты не знаешь, что будешь делать с таблицей, то никакого скрипта тебе не написать
все изменения должны выполняться последовательно и логично
нельзя, допустим, пытаться втулить в таблицу столбец, который является внешним ключомна другую таблицу, для которой еще не выполнены операции определения первичного ключа
поэтому ПОРЯДОК ВЫПОЛНЕНИЯ важен
следовательно, скрипт придется писать, а не тупо подгонять структуру под эталон, не понимая связи таблиц


 
Fay ©   (2006-01-06 12:31) [7]

2 Desdechado ©   (06.01.06 12:17) [6]
При нормальной стуктуре описания изменений такие косяки легко прослеживаются. В том смысле, что порядок, конечно, важен, но автоматизировать процесс не сложно.
Просто нужно свести к минимуму применение перректальных технологий разработки.


 
Desdechado ©   (2006-01-06 12:45) [8]

это если четко отслеживается версионность структуры, тогда переход от одной версии к другой прост
а вот если тупо смотрим на таблицу, видим, что не хватает 2 полей, пытаемся их добавить, а они, оказывается, зависят от недобавленных в другие таблицы - то это те самые "перректальные технологии разработки"


 
Fay ©   (2006-01-06 12:55) [9]

2 Desdechado ©   (06.01.06 12:45) [8]
> а вот если тупо смотрим на таблицу
Я не настаиваю на "тупо".



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.047 c
1-1135001045
ССТ
2005-12-19 17:04
2006.01.22
Чтение содержимого окна-таблицы


2-1136555628
DoSpyRap
2006-01-06 16:53
2006.01.22
Как открыть приложение через программу???


14-1135489651
begin...end
2005-12-25 08:47
2006.01.22
С Днём рождения! 25 декабря


8-1123915661
Grief
2005-08-13 10:47
2006.01.22
_Release для D3D


2-1136027458
GuAV
2005-12-31 14:10
2006.01.22
if Assigned(Self) then Result := FList else Result := EmptyList;





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский