http://localhost:8080/resto/test/cleanSales.jsp http://localhost:8080/resto/test/cleanStores.jsp)
Призначення:
Даний SQL скрипт, що видаляє таблиці цілком, краще використовувати для очищення великих БД, тому що:
Зверни увагу!
Альтернатива DROP TABLE - TRUNCATE TABLE, але т.к. сервер нормально перетворює таблиці, то DROP навіть надійніше і передбачуваніше.
Якщо ви вирішили очистити базу і відразу оновити версію в ній - потрібно замість DROP TABLE зробити TRUNCATE TABLE. Інакше сервер не запуститься.
Скрипт не видаляє інформацію про тестові доставки.
Якщо вам потрібно видалити тестові доставки, зверніться із заявкою на техпідтримку Syrve.
Якщо вам потрібно продовжити роботу в повністю пустій чистій базі без будь-яких старих даних взагалі, це робиться шляхом зупинки Томката, видаленням старої БД і рестартом Томката
4. Виконайте запит для створення списку таблиць, які можна видалити:
SELECT 'TRUNCATE TABLE '+Name +';'
FROM dbo.sysobjects
WHERE (xtype = 'U')
and Name not in ('AssemblyChart','AssemblyChartItem','DBVersion','entity',
'PreparedAssemblyChart','PreparedAssemblyChartItem','UpgradeScripts','TreeMenuChangeDocument','TreeMenuChangeDocumentItem'
,'PriceListItem','TerminalToken','Street')
ORDER BY 1 5. Коли запит проведено, запускаємо службу Tomcat, запускаємо бекофіс та перевіряємо.
Особливості роботи зі скриптом:
Це не просто захист від дурня, щоб не видалити надто багато. Після обрізки не можна розширювати період, щоб увімкнути дату обрізки, це призведе до розбіжності собівартості.
Опис JSP- скрипта для обрізання бази за певною датою:
Процедури обрізки РМС та Чейн не залежать один від одного. Можна обрізати або те, або інше, або те й інше.
Як мінімум версія syrve має бути вищою ніж 3.9 ( нижче написано чому)
Скрипт запускається за адресою
http://host:port/resto/service/maintance/shrinkDatabase.jsp Зверни увагу!
Прибуткові накладні, що створюються скриптом, не можна перепроводити, у тому числі реплікацією!
Вони не валідні: рядки можуть містити негативні кількості товарів, а проводки мають більшу точність, ніж у звичайних накладних, ця інформація втрачається при перепроведенні.
Caused by: java.sql.SQLException: Could not allocate space for object 'dbo.*'.'*' in database 'Resto' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup
где имя таблицы object 'dbo.*'.'*' может быть любым, например Could not allocate space for object 'dbo.ItemSaleEvent'.'ItemSaleEvent_date'